package com.cowain.monitor.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 组织架构
*/
@TableName("ehr_organization")
@Data
public class EhrOrganizationEntity implements Serializable {
	private static final long serialVersionUID = 1L;


	/**
	 * 序号
	 */
	@TableId
	private Integer orId;
	/**
	 * 设立日期
	 */
	private Date setDate;
	/**
	 * 文号
	 */
	private String docNum;
	/**
	 * 编码
	 */
	private String code;
	/**
	 * 名称
	 */
	private String roName;
	/**
	 * 简称
	 */
	private String shortName;
	/**
	 * 类别
	 */
	private String category;

	/**
	 * 虚拟组织
	 */
	private String virtualOrganization;
	/**
	 * 类型
	 */
	private Integer type;
	/**
	 * 层级
	 */
	private Integer level;
	/**
	 * 所在地
	 */
	private String location;
	/**
	 * 负责人
	 */
	private String leader;
	/**
	 * 分管副总
	 */
	private String viceLeader;
	/**
	 * 网址
	 */
	private String website;
	/**
	 * 地址
	 */
	private String address;
	/**
	 * 电话
	 */
	private String tel;
	/**
	 * 简介
	 */
	private String brief;
	/**
	 * 行政维度上级
	 */
	private Integer adDimensionSuperior;
	/**
	 * 行政顺序号
	 */
	private Integer adOrderNum;
	/**
	 * 业务维度上级
	 */
	private Integer busDimensionSuperior;
	/**
	 * 业务顺序号
	 */
	private Integer busOrderNum;
	/**
	 * 行政维度
	 */
	private String adDimension;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 上级组织
	 */
	private Integer parentId;
	/**
	 * 版本
	 */
	private String orVersion;
	/**
	 * 严格控制
	 */
	private Boolean control;
	/**
	 * 直属编制
	 */
	private Integer directCnt;
	/**
	 * 状态
	 */
	private String status;
	/**
	 * 是否删除
	 */
	private Integer isDel;
	/**
	 * 创建时间
	 */
	@JsonFormat( pattern="yyyy-MM-dd")
	private Date createTime;
	/**
	 * 创建人
	 */
	private String creatorId;
	/**
	 * 修改时间
	 */
	@JsonFormat( pattern="yyyy-MM-dd")
	private Date updateTime;
	/**
	 * 修改人
	 */
	private String updatorId;

	/**
	 * 部门所属账套
	 */
	private Integer acset ;


	/**
	 * 类型名称
	 */
	@TableField(exist = false)
	private String typeName;
	/**
	 * 层级名称
	 */
	@TableField(exist = false)
	private String levelName;
	/**
	 * 层级名称
	 */
	@TableField(exist = false)
	private String adDimensionSuperiorName;
	/**
	 * 层级名称
	 */
	@TableField(exist = false)
	private String busDimensionSuperiorName;
	/**
	 * 负责人名称
	 */
	@TableField(exist = false)
	private String leaderName;
	/**
	 * 负责人名称
	 */
	@TableField(exist = false)
	private String viceLeaderName;
    /**
     * 已有直属编制
     */
    @TableField(exist = false)
    private Integer realCnt;
    /**
     * 含下级直属编制
     */
    @TableField(exist = false)
    private Integer allDirectCnt;
    /**
     * 已有含下级直属编制
     */
    @TableField(exist = false)
    private Integer realAllCnt;
	/**
	 * 是否编辑
	 */
	@TableField(exist = false)
	private Boolean edit = false ;

	/**
	 * 修改人姓名
	 */
	@TableField(exist = false)
	private String nameZh;

	/**
	 * 助理工号
	 */
	@TableField(exist = false)
	private String assHrId;
	/**
	 * 助理姓名
	 */
	@TableField(exist = false)
	private String assName;

	/**
	 * 审核人工号
	 */
	@TableField(exist = false)
	private String appHrId;
	/**
	 * 审核人姓名
	 */
	@TableField(exist = false)
	private String appName;

}
